#ifndef _IMAGE_H
#define _IMAGE_H

#include "Noyau/Ecran.hpp"

/**
 * Classe implémentant une image : une image est un tableau de
 * pixel. On hérite d'Ecran, car une Image est pour nous un Ecran sur
 * lequel est projeté la scène.
 *
 * @author Jean-Marc Comby + Romain Dequesne
 * @author Johan "Solo" Luisier
 *
 * @date 28 Mars 2004
 */
class Image : public Ecran
{
 public:
  Image();
  Image(const Image &); // constr de copie
  Image(const int &largeur, const int &hauteur);
  virtual ~Image();
  void setPixel(const unsigned int&, const unsigned int&, const Couleur&);
  void hauteur(const unsigned int&);
  void largeur(const unsigned int&);
  const Couleur& pixel(const unsigned int &x, const unsigned int &y) const;
  const unsigned int& hauteur() const;
  const unsigned int& largeur() const;
 protected:
  /**
   * Ensemble des pixel formant l'image.
   */
  matrice Screen;
};

#endif
